package com.qwz.learn;
/**
* @Description: 代理对象
* @Package com.qwz.learn.Proxy
* @author Qiuwuzhi
* @date 2019/12/23 10:11
* @version V1.0
*/
public class Proxy implements Subject {
    /**
     * 持有被代理的具体目标对象
     */

    private RealSubject realSubject;

    /**
     * 构造方法，传入被代理的具体的目标对象
     * @param realSubject
     */
    public Proxy(RealSubject realSubject) {
        this.realSubject = realSubject;
    }

    public void request() {
        //在转调具体的目标对象前，可以执行一些功能处理

        //转调具体的目标对象的方法
        realSubject.request();

        //在转调具体的目标对象后，可以执行一些功能处理
    }
}
